package reflect_framework;

import java.io.FileOutputStream;
import java.io.PrintStream;
import java.lang.reflect.Field;

/**
 * @author 宋鑫宇
 * @version 1.0
 */
public class MybatisUtil {
    /*
        保存任意类型的对象
     */
    public static void save(Object obj) throws Exception {
        PrintStream stream = new PrintStream(new FileOutputStream("D:\\idea_WorkSpace\\javaweb\\src\\data.txt",true));
        //1.提取这个对象的全部成员变量，只有反射可以解决
        Class c = obj.getClass();
        stream.println("--------------" + c.getSimpleName() + "------------");
        //2.提取他的全部成员变量
        Field[] fields = c.getDeclaredFields();
        //3.获取成员变量的信息
        for (Field field : fields) {
            String name = field.getName();
            //提取本成员变量在boj对象中的值
            field.setAccessible(true);
            String value = field.get(obj) + "";
            stream.println(name + "=" + value);
        }
        stream.close();
    }
}
